using OracleInternal.SqlAndPlsqlParser.LocalParsing;

namespace OracleInternal.SqlAndPlsqlParser.RuleProcessors.ODPCommands
{
	internal static class OracleMbEarleyReturningClauseRuleMultiProcessors
	{
		public static OracleMbEarleyRuleMultiProcessorAddItem[] s_vRuleProcessorItems;

		static OracleMbEarleyReturningClauseRuleMultiProcessors()
		{
			s_vRuleProcessorItems = new OracleMbEarleyRuleMultiProcessorAddItem[1]
			{
				new OracleMbEarleyRuleMultiProcessorAddItem
				{
					m_vHeadSymbol = "returning_clause",
					m_vRHSSymbols = new string[2]
					{
						"returning_clause",
						"expr"
					},
					m_vRuleProcessor = Process_ReturningClause_ReturningClause_Expr_StartWithRule,
					m_vAddType = OracleMbEarleyRuleMultiProcessorAddType.AllRulesStartingWith
				}
			};
		}

		public static object Process_ReturningClause_ReturningClause_Expr_StartWithRule(OracleMbEarleyParserMultiContext ctx, int ruleMatchPosition)
		{
			OracleLpParserContext obj = (OracleLpParserContext)ctx;
			OracleLpStatement currentStatement = obj.CurrentStatement;
			obj.CurrentStatementClause = OracleLpStatementClauseType.ReturningClause;
			currentStatement.HasReturningClause = true;
			obj.HandleBindVariables = true;
			return null;
		}
	}
}
